/**
 * @ClassName TemplateMethodTest
 * @Description 模板模式测试类
 * @Author 高达磊
 * @Date 2022/3/21-18:04
 * @Version 1.0
 */
public class TemplateMethodTest {

    /**
     * 测试模板模式的代码
     * 模板类中可提供钩子方法让调用方自主选择getCar方法的中执行哪些方法
     * 即：
     * 1. 抽象模板类提供实例变量，提供getter/setter方法
     * 2. 具体模板构造方法设默认值
     * 3.对外提供的方法添加条件判断
     *
     * @param args
     */
    public static void main(String[] args) {
        AbstractCar car1 = new Audi();
        car1.getCar();

        AbstractCar car2 = new Benz();
        car2.getCar();
    }
}
